package com.koron.order.maintain.service;

import com.koron.common.core.business.common.service.CommonService;
import com.koron.order.common.bean.po.OrderInstructionBean;
import com.koron.order.common.bean.po.OrderSignBean;
import com.koron.order.maintain.bean.entity.*;
import com.koron.order.maintain.bean.vo.*;
import org.koron.ebs.mybatis.SessionFactory;

import java.util.List;

public interface MaintainExecuteService extends CommonService {

    int insertOrUpdate(SessionFactory factory, MaintainExecuteVo maintainExecuteVo);

    String insertOrUpdateExecuteInfo(SessionFactory factory, MaintainExecuteInfoVo maintainExecuteInfoVo);

    boolean deleteExecuteInfo(SessionFactory factory, String orderId, String orderExecuteId);

    String insertOrUpdateOperateForm(SessionFactory factory, OperateFormVo operateFormVo);

    int deleteById(SessionFactory factory, String id);

    OperateFormVo queryByOrderId(SessionFactory factory, String orderId);

    List<MaintainReadyPo> queryReadyByOrderId(SessionFactory factory, String orderId);

    List<OrderInstructionBean> queryInstructionByOrderId(SessionFactory factory, String orderId);

    List<MaintainEquipmentVo> queryEquipmentVoByOrderId(SessionFactory factory, String orderId, String maintainEquipmentId);

    List<MaintainEquipmentPo> queryEquipmentBeanListByOrderId(SessionFactory factory, String orderId);

    List<MaintainItemVo> queryMaintainItemByEqId(SessionFactory factory, String orderId, String maintainEquipmentId);

    int updateMaintainReady(SessionFactory factory, MaintainReadyPo maintainReadyPo);

    int updateMaintainItemVo(SessionFactory factory, MaintainItemVo maintainItemVo);

    int updateMaintainInfo(SessionFactory factory, MaintainPo maintainPo);

    boolean generateStand(SessionFactory factory, String orderId);

    int updateMaintainEquipment(SessionFactory factory, MaintainEquipmentPo maintainEquipmentPo);

    int updateMaintainItem(SessionFactory factory, MaintainItemPo maintainItemPo);

    int updateMaintainItemParams(SessionFactory factory, MaintainItemParamsPo itemParamsBean);

    int insertOrderSignInfo(SessionFactory factory, OrderSignBean orderSignBean);

    int deleteOrderSignInfo(SessionFactory factory, String orderSignId);

    int updateBatchMaintainReady(SessionFactory factory, List<MaintainReadyPo> maintainReadyPos);

    int updateBatchMaintainItem(SessionFactory factory, List<MaintainItemPo> maintainItemPos);

}
